Page History: Security Definition Request
Compare Page Revisions
Page Revision: 2012/10/15 11:54
Definition of SecuritiesThe T4 FIX API provides a mechanism to list the securities available for trading and market data streaming. For outrights, spreads, options and multilegged strategies, the result sets contain information about Exchange identifier, Contract identifier, Market identifier, symbology, pricing, minimum trading volumes, minimum price amount (including Variable Tick Tables), quantity leg ratios, buy/sell sides, put/call type, strikes, etx. The Security Definition Request message (Tag 35=c) provides the conerstone to interrogate T4 for the available exchanges, contract within each exchange and markets for a specific contract. In all cases, the Security Request Type (Tag 321) is set to request list of Securities (Tag 321=3). The combinations of Security Type (Tag 167), Security Exchange (Tag 207), Symbol (55) and SecurityID (TAg 48) determines the set of data returned by the FIX API.
Under the FIX T4 API, securities are defined by the Exchange, contracts within an exchange and markets for a specific contract (Tag 48). Exchanges are identified by an unique Exchange ID in Tag 207 (SecurityExchange). Contracts are characterized by its Contract ID in Tag 55 (Symbol). Markets are identified by an unique Market ID by Tag 48 (SecurityID).
The Security definition message capabilities cover the following uses:
1.
List Exchanges (Get Exchange IDs): SecurityType (Tag 167) only needs to be specified as input. This request returns all Exchange IDs in the SecurityExchange (Tag 207) with a corresponding description.
2.
List Contracts within an Exchange (Get Contract IDs). SecurityType (Tag 167) needs to be specified as input. SecurityExchange (Tag 207) must also contain the exchange name for which the contract list is requested. When appropriate to refine an option query, the PutOrCall parameter can also be specified (Tag 202). As a result, the request returns all Contract IDs in the Symbol (Tag 55) with a contract description (in the SecurityDesc Tag=107).
3.
List Markets of a Specific Contract (Get Market IDs). SecurityType (Tag 167) needs to be specified as input. SecurityExchange (Tag 207) and Symbol (Tag 55) must also be provided to determine the contract for which the market list is requested. Among other market descriptive parameters, the Market ID is returned in the SecurityID (Tag 48).
4.
List a Specific Market (Get Market ID). To request information about specific market the Get Market IDs request (just above) is augmented to also include the Market ID (via Tag 48) of the specific security. That is, to pinpoint the market in the request, the input parameters will include Security Type (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55) and SecurityID (Tag 48). The descriptive parameters for this specific Market ID are returned with this request.
Message Dictionary
320 SecurityReqID
321 SecurityRequestType
55 Symbol Symbol of the requested Security
65 SymbolSfx Suffix of the Requested Security
48 SecurityID Security ID of the requested Security
22 IDSource Source of the Security ID
167 SecurityType Must be specified if a Future or Option. If a Future: Symbol, SecurityType, and MaturityMonthYear are required. If an Option: Symbol, SecurityType, MaturityMonthYear, PutOrCall, and StrikePrice are required.
200 MaturityMonthYear Specifiesthe month and year of maturity. Required if MaturityDay is specified.
205 MaturityDay Can be used in conjunction with MaturityMonthYear to specify a particular maturity date.
201 PutOrCall For Options.
202 StrikePrice For Options.
206 OptAttribute For Options.
231 ContractMultiplier For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.
223 CouponRate For Fixed Income.
207 SecurityExchange
106 Issuer
348 EncodedIssuerLen Must be set if EncodedIssuer field is specified and must immediately precede it.
349 EncodedIssuer Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field.
107 SecurityDesc
350 EncodedSecurityDescLen Must be set if EncodedSecurityDesc field is specified and must immediately precede it.
351 EncodedSecurityDesc Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field.
15 Currency
58 Text Comment, instructions, or other identifying information.
354 EncodedTextLen Must be set if EncodedText field is specified and must immediately precede it.
355 EncodedText Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
336 TradingSessionID Optional Trading Session Identifier to specify a particular trading session for which you want to obtain a list of securities that are tradeable.
Tag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = V |
262 | SecurityReqID|| Y | Must be unique to distinguish security definition requests |
263 | SecurityType | Y | Type of Security Definition Request. |
| | | 0 = SnapShot |
| | | 1 = Enable Snapshot + Updates (SUBSCRIBE) |
| | | 2 = Disable previous Snapshot + Update Request (UNSUBSCRIBE) |
264 | MarketDepth | Y | Requested Depth of market for Subscription or Snapshot. T4 currently supports up to a maximum of 10 levels for selected markets. TopOfBookOnly = 1. FullBook = 10. |
265 | MDUpdateType | N | Specifies the type of Market Data throughput (buffering). The permissible values are: |
| | | 0 = Full Refresh. Equivalent to T4 Smart. |
| | | 1 = Incremental Refresh. Equivalent to T4 Smart. |
| | | 2 = T4 Slow Trade |
| | | 3 = T4 Smart Trade |
| | | 4 = T4 Slow Smart |
| | | 5 = T4 Smart |
| | | 6 = T4 Fast Smart |
| | | 7 = T4 All |
| | | 8 = T4 Fast Trade |
| | | 9 = T4 Trade Only |
| Start Repeating Group | |
267 | NoMDEntryTypes | Y | Number of MDEntryType fields requested. Repeating Group. |
269 | MDEntryType | Y | Entry Type. Must be the first field in this repeating group. This is a list of interested Market Data Entries. The permissible values can be: |
| | | 0 = Bid |
| | | 1 = Offer |
| | | 2 = Implied Bid |
| | | 3 = Implied Offer |
| | | 4 = Last Trade |
| | | 6 = Settlement |
| | | 7 = Session High |
| | | 8 = Session Low |
| | | K = Price High Limit |
| | | L = Price Low Limit |
| | | B = Trade Volume |
| End Repeating Group | |
| Start Repeating Group | |
146 | NoRelatedSym | Y | Number of symbols (instruments) requested. Repeating Group. |
207 | SecurityExchange | Y | Can be used to identify the security. This is the T4 Exchange ID. |
55 | Symbol | Y | Symbol. Must be the first field in this repeating group. This is the T4 Contract ID. |
48 | SecurityID | Y | Security identifier. This is the T4 Market ID. |
167 | SecurityType | Y | Instrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN" |
201 | PutOrCall | N | For Options. Indicates whether an Option is for a put or call. Put = 0. Call = 1. |
| End Repeating Group | |
1070 | QuoteType | N | Pricing Scheme for Quotes. Ticks = 1, Decimal = 2. |
| Standard Trailer | Y |
Sample Messages
Requesting all exchanges
>> 9/28/2012 3:41:16 PM [FIXSECURITYDEFINITIONREQUEST] 34=5|49=T4Test|56=test|52=20120928-20:41:16.125|320=sc-9/28/2012 3:41:16 PM|321=3|167=FUT|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 5
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20120928-20:41:16.125
[SecurityReqID] 320 = sc-9/28/2012 3:41:16 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[SecurityType] 167 = FUT (FUTURE)
Requesting all contracts for a specific exchange
>> 9/28/2012 3:40:14 PM [FIXSECURITYDEFINITIONREQUEST] 34=2|49=T4Test|56=test|52=20120928-20:40:14.707|320=sc-9/28/2012 3:40:14 PM|321=3|167=FUT|207=D_F|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 2
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20120928-20:40:14.707
[SecurityReqID] 320 = sc-9/28/2012 3:40:14 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[SecurityType] 167 = FUT (FUTURE)
[SecurityExchange] 207 = D_F
Requesting all markets for a specific contract
>> 9/28/2012 3:42:17 PM [FIXSECURITYDEFINITIONREQUEST] 34=7|49=T4Test|56=test|52=20120928-20:42:17.495|320=sc-9/28/2012 3:42:17 PM|321=3|55=F|167=FUT|207=D_F|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 7
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20120928-20:42:17.495
[SecurityReqID] 320 = sc-9/28/2012 3:42:17 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[Symbol] 55 = F
[SecurityType] 167 = FUT (FUTURE)
[SecurityExchange] 207 = D_F
Requesting a specific market
>> 9/28/2012 3:39:04 PM [FIXSECURITYDEFINITIONREQUEST] 34=9|49=T4Test|56=test|52=20120928-20:39:04.757|320=sc-9/28/2012 3:39:04 PM|321=3|55=F|167=FUT|207=D_F|48=D_F_F_20120900|
[FIXSECURITYDEFINITIONREQUEST]
[MsgSeqNum] 34 = 9
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20120928-20:39:04.757
[SecurityReqID] 320 = sc-9/28/2012 3:39:04 PM
[SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES)
[Symbol] 55 = F
[SecurityType] 167 = FUT (FUTURE)
[SecurityExchange] 207 = D_F
[SecurityID] 48 = D_F_F_20120900
FIX API Home Page.